package com.joker.orange.domain.vo;

import java.math.BigDecimal;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.joker.common.annotation.ExcelDictFormat;
import com.joker.common.convert.ExcelDictConvert;
import com.joker.common.utils.file.FileUtils;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * 小说信息视图对象 t_novel_info
 *
 * @author Joker
 * @date 2024-06-09
 */
@Data
@ExcelIgnoreUnannotated
public class NovelInfoVo implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 唯一标识
     */
    @ExcelProperty(value = "唯一标识")
    private Long id;

    /**
     * 分类ID
     */
    private Long categoryId;

    /**
     * 分类名称
     */
    @ExcelProperty(value = "分类名称")
    private String categoryName;

    /**
     * 小说封面
     */
    @ExcelProperty(value = "小说封面")
    private String novelCover;

    /**
     * 小说名称
     */
    @ExcelProperty(value = "小说名称")
    private String novelName;

    /**
     * 当前章节
     */
    @ExcelProperty(value = "当前章节")
    private String currentChapter;

    /**
     * 更新到第几章节
     */
    @ExcelProperty(value = "更新到第几章节")
    private String updateChapter;

    /**
     * 共多少章节
     */
    @ExcelProperty(value = "共多少章节")
    private String chapterTotal;

    /**
     * 小说介绍
     */
    @ExcelProperty(value = "小说介绍")
    private String novelIntroduce;

    /**
     * 小说标签
     */
    @ExcelProperty(value = "小说标签")
    private String novelLabel;

    /**
     * 小说类型（0-连载、1-完结）
     */
    @ExcelProperty(value = "小说类型", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "0=-连载、1-完结")
    private String novelType;

    /**
     * 点赞量
     */
    @ExcelProperty(value = "点赞量")
    private Integer likeNum;

    /**
     * 收藏量
     */
    @ExcelProperty(value = "收藏量")
    private Integer collectNum;

    /**
     * 热度量
     */
    @ExcelProperty(value = "热度量")
    private Integer heatNum;

    /**
     * 评论量
     */
    @ExcelProperty(value = "评论量")
    private Integer reviewNum;

    /**
     * 是否置顶（0-是、1-否）
     */
    @ExcelProperty(value = "是否置顶", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "0=-是、1-否")
    private String isTop;

    /**
     * 创建时间
     */
    @ExcelProperty(value = "创建时间")
    private Date createTime;

    /**
     * 备注
     */
    @ExcelProperty(value = "备注")
    private String remark;

    /**
     * 是否点赞（0-是、1-否）
     */
    private String isGiveLike;

    /**
     * 是否收藏（0-是、1-否）
     */
    private String isCollection;

    private String novelCoverCopy;

    public String getNovelCoverCopy() {
        return novelCover;
    }

//    public String getNovelCover() {
//        return FileUtils.getUrl(novelCover);
//    }

}
